package com.zy.fee.roadpark.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import cn.jpush.android.api.JPushInterface;
import com.zy.fee.roadpark.config.Constants;

/**
 * @author
 * @version 1.0
 * @date 2017/7/7
 */

public class JpushReceiver extends BroadcastReceiver {
  private static final String TAG = "JPush";

  @Override public void onReceive(Context context, Intent intent) {
    try {
      Bundle bundle = intent.getExtras();
      //Logger.d(TAG, "[HPushReceiver] onReceive - " + intent.getAction() + ", extras: " + printBundle(bundle));

      if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {
        String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);
        Log.d(TAG, "[HPushReceiver] 接收Registration Id : " + regId);
        //send the Registration Id to your server...

      } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
        //Logger.d(TAG, "[HPushReceiver] 接收到推送下来的自定义消息: " + bundle.getString(JPushInterface.EXTRA_MESSAGE));

      } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
        //Logger.d(TAG, "[HPushReceiver] 接收到推送下来的通知");
        context.sendBroadcast(new Intent(Constants.BROADCAST_REFRESH_MESSAGE_LIST));

      } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
        // Logger.d(TAG, "[HPushReceiver] 用户点击打开了通知");

        ////打开自定义的Activity
        //Intent i = new Intent(context, MessageListActivity.class);
        //i.putExtras(bundle);
        //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        //context.startActivity(i);

      } else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(intent.getAction())) {
        //Logger.d(TAG, "[HPushReceiver] 用户收到到RICH PUSH CALLBACK: " + bundle.getString(JPushInterface.EXTRA_EXTRA));
        //在这里根据 JPushInterface.EXTRA_EXTRA 的内容处理代码，比如打开新的Activity， 打开一个网页等..

      } else if (JPushInterface.ACTION_CONNECTION_CHANGE.equals(intent.getAction())) {
        boolean connected = intent.getBooleanExtra(JPushInterface.EXTRA_CONNECTION_CHANGE, false);
        //Logger.w(TAG, "[HPushReceiver]" + intent.getAction() +" connected state change to "+connected);
      } else {
        // Logger.d(TAG, "[HPushReceiver] Unhandled intent - " + intent.getAction());
      }
    } catch (Exception e) {

    }
  }
}
